Customers are becoming more reliant on on-demand computing environments where computing resources can be provisioned dynamically. Such computing environments may include virtual computing environments, serverless computing services, and container-based computing environments. When computing resources are created and released dynamically, it can be difficult to maintain state information associated with a customer application. In some dynamically provisioned computing environments, application state may be lost between invocations of a customer function when computing resources are released, and the application state may need to be recreated for successive invocations of the customer function. For example, if the customer function queries a database, a connection to the database may need to be generated each time the customer function is invoked, since the database connection is lost when the computing environment is released upon completion of the customer function. Reconnecting to the database each time the customer function is invoked is expensive and time consuming, and maintaining a connection pool within the application may interfere with the ability to make use of dynamically provisioned computing resources. For at least these reasons, maintaining state information for customer applications running in on-demand computing environments is a difficult problem.